1. Technical Field
The present disclosure relates to a video image encoding device that encodes a video image such that the video image is divided into blocks.
2. Related Art
In recent years, with development of multimedia applications, it has been popularized that information of all kinds of media such as images, sounds, and texts are uniformly handled. Since a digitized image has huge volumes of data, an image information compression technique is indispensable to accumulate and transmit the image. On the other hand, to mutually operate compressed image data, standardization of compression techniques is also important. For example, as standards of measure of image compression techniques, H.261, H.263, and H.264 of ITU-T (telecommunication standardization sector in International Telecommunication Union), MPEG-1, MPEG-3, MPEG-4, and MPEG-4AVC of ISO/IEC (International Organization for Standardization), and the like are given. At present, a standardization action for a next-generation screen encoding scheme obtained by the collaboration between ITU-T and ISO/IEC and called HEVC has been advanced.
In such encoding of a video image, each picture to be encoded is divided into encoding unit blocks, and redundancies in time and spatial directions are reduced in units of blocks to compress an amount of information. In inter predictive encoding to reduce a time redundancy, detection of motion and formation of a predictive image are performed in units of blocks with reference to a forward or a backward picture to obtain a differential image between the obtained predictive image and an input image of a block to be encoded. In intra predictive encoding to reduce a spatial redundancy, a predictive image is generated from pixel information of peripheral encoded blocks to obtain a differential image between the obtained predictive image and an input image of a block to be encoded. In addition, orthogonal transformation such as discrete cosine transformation and quantization are performed to the obtained differential image, and a code string is generated by using variable-length-coding to compress an amount of information.
In decoding, the code string generated by the encoding process is analyzed to obtain prediction information and residual coefficient information, inter predictive decoding and intra predictive decoding are performed by using the prediction information to generate a predictive image, inverse quantization and inverse orthogonal transformation are performed to the residual coefficient information to generate a differential image, and the obtained predictive image and the differential image are added to each other to decompress a final output image.
In H.264 (ITU-T H.264: Advanced video coding for generic audiovisual services (03/2010)), in order to restrict an upper limit of an amount of processing in each block, a maximum value of an amount of codes generated in each block is defined (more specifically, 3200 bits). When the above normal encoding process is performed, a code string including an amount of code larger than the maximum value of the amount of generated codes may be generated depending on the quality of an input image or conditions of a quantization process. For this reason, a special encoding mode called an IPCM is used to make it possible to suppress the amount of code of the code string to be smaller than the maximum value.
The IPCM is different from a normal encoding mode, and is a mode in which pixel values of an input image are directly described as a bit string in a code string without performing generation, orthogonal transformation/quantization of a differential image by intra/inter prediction. In use of the mode, for example, when the format of an input image is YUV4:2:0 in which each pixel has 8 bits, a block of a luminance component has 16×16 pixels, and each block of two color-difference components has 8×8 pixels. For this reason, the total number of bites is 384 bytes, and the number of bits of the input image including information required for a header can be suppressed in an amount equal to or smaller than 3200 bits, i.e., the maximum value described above.